merged code with master and my initial commit, its still incomplete