removed numpy dependency