cursor movement hacked together but moves through walls