initial commit, just a bunch of pieces