final commit after refactor, working now