applied generic to moco interface