Reviewed up to prototype impl
Fixing typos etc.