Made into an interface, included stdexcept