moved exception to own package