better lookAt function; still not quite right