add base exception
optimization of processing