added exception; added overloaded method