line-wall collision seems to work