major improvements that i never got around to uploading