Working Version 1.1 Refactored