made all methods ore functional