refactored $)