Moved some commonalities to shared