final version of dual interface