developing ood componenst from top to bottom, not compilable