First commit, basically works.