Refactoring complete.. for now!