updated: structure + added merge