added source and source_set communication and full testing, addes some layers for models