Addoption to NSCoding protocol