inlined all um math and um logic