factor out some methods
updated tooltip