use uint_32 instead of unsigned
cleaner check function