merging new changes from michi