implementation of label propagation

additional architecture changes