building new objects should extend them