Camera component re-implemented