First commit, very rough outline