for class use