function based configuration options
cleanup&refactor
Make configuration fields exportable for reflect
revert error formatting & cleanup/refactor