NEW VERSION - by class

following initial response on CodeReview