removing numpy dependency