implement take camera snapshot