shows examples both oop and procedural