some moar exceptions and some conversion on doSize