added deep cloning
used deep cloning on getters of maps and when getting them in c'tor