for class purpose