we are going to translate procedural into oo version...