semi completed oo basics