updated based on class