really don't need numpy extension class