add interfaces for camera io