possibly has everything you need?
merging