handle errors internally

Reduces granularity