First commit, mostly done