system call
add some define to make readability
Others
for test