camera partially implemented