modify private enum to public
add args parse