not working without the zero check