Refactor Api to remove results and throw exceptions