some more collision stuff; still not perfect though