Commit2

First full implementation of all classes.