second commit, all files but not in finished form, refinement required