improve camera class