throws a RuntimeException in case of failure