inital commit
refactored more object oriented