solved problems protocols work perfectly now