refactored tooltip into its own object