implemented Camera