Final Commit

Implements the rest of the features