Adding doc blocks
Use InvalidArgumentException at the top of the class so we don't have to use \