Last move refactoring didn't really do any good. New one here