Commit #2

Added more functionality.
Implemented saving.
Various features and bugfixes.