refactored tax_man