ensure that errors are raised for invalid info and methods accept they data types as args