Initial Commit: Rough draft of basic functionality.