(#1) added preliminary character-boundary collision; need to implement efficient checking