updated with static methods as per assignment description