changed to staticmethods