* initial commit * misc additions and fixes * final tests and additions * cleanup 1 * fix tests and add a test * fix tests AGAIN * abject horror and misery * cleanup * cleanup 2 * address some issues