cleaned up interface merge