Still refactoring same as last commit