hub and spoke model programming