update interfaces and fix duplicate global binding