fleshed out basic operation with camera control