map still works, refactored a but