refactor, again.
still working at getting this stuff in order.