`calculate_subject()` added