make base error more extensible. wrapped reason in collection element per stadnards