initial commit, skeleton classes and some methods written