fixed (hopefully) and commented camera class