revise the implementation of zeros, ones