core exceptions and logging