learned some diff tricks from Numpy dev docs