Added in some better geometry (collisions, overall usability,
corrections), and refactored.