add missing camera implementation