Initial Refactoring - Version 1.0