factory method for initialize arbitrary control gates. closes #8