add nonzero func