add some error handle logic