replace weird try_except with meaningful instance check
added apologies
added a pseudo method