First commit
Fixed most of it.