implementation of camera