init commit, draft class design