significant reordering of code, organizational changes only

@jrolfs