Clean-Up. Need a bit more refactoring