collision detection modified to return a reference to the surface of
collision (or returns null if no collision)
text area is replaced with a table