refactored to dynamic positions with no wrapper
refactored positioning and hinting