fix crash bug
add error code
add main