language independent software composition and merging