better input reading; take in camera rotation