Change-Id: I72abe9b4c2deb08e58ce69786f853ccc4b385a5d
Also implement lots of fixes and improvements. fixes: #3381 Change-Id: Ibe6664da00756ae5813b90f190295045808b2ff0