added ortho projection and some math functions