implemented experiment 1 and 2, not tested