Second commit - design

Major differenses are design issues