Avoid throwing just 'exception'
properly support incompatible exceptions
add comments
Add MongoDB data controller