+assertion
update throwables
improved readability