added addition and division
some fixes
macro is about 4 times faster than pointer based