use position property in json to preserve ordering across generations