re-arrange and update for umx usage