added more math functions such as random