inheritance using deep and shallow copying
inheritance by copying properties (deep and shallow)