first part of reworking (building a camera-like functionality).