less exceptions, less clean ...