first(?) commit. haven't worked on this in a while