error handling is better
now with initial support for (local) reading