code cleaning; progressed with generalization
code cleaning; progressed with generalization