PHPDoc comments added
@throws comments added