added camera function - partially complete