add camera controller logic