Continued development - refactoring