add camera function