template library
rethrow again