final OOP Principles part two