refactored, needs tooltip