First Commit with all the basic features.