add better piece support to unitController