nonzero needs to return a boolean, not a list