removed math dependence for numpy