Once again cleaned up some stranged code and made usage better and clearer