fixed throw bug