Refactoring Code
more refactoring