reorg'd blocks into more logical groups
no need to pass world param
use boxa() method instead of box() for arrays
no need to pass world param to arc
no need to pass world param to arc
no need to pass world param to arch
made world a property and added more documentation