more consistent logging / exception handling