New changes

Some more changes in putting design patterns and other stuff