added initial communications code