better work with exceptions added