implementing some parts of camera service