add flag will be used debug mode
apply abort for graceful error
define include guard
sepalate python file
add ignore for python