take picture implimentation