better property inheritence