Initial version, fully working but a few small issues still to address

Change-Id: Ic061d4a0fb1b202687058aed82609b38bd2b0a3d