First commit, basically complete, just need some ui twiquing