add shutter button state management