Design changes #47, #42#40, #40 #37
Merge branch 'test'