added in a bunch more camera code