02.22.13 better oop hierarchy