Refactoring, still needs more refactoring