first commit, only includes basic rendering of moving camera