programmable communications