implemented camera