remove fao one and zero
remove some comments
refactor without macros
add check functions