Initial commit. Currently bugs, bugs everywhere.