improved match controller