Initial new version with demonstration of clean implementation

Change-Id: I98e7f1a36955b97ba202f72ab7bec63c0a4364e1