add exception handle
redesign
change error handle