refactored hints, now their own object