refactor 2 FIX THIS SHIT