updated camera controller