added camera capture and image preview