Implement abstract API & camera module