A1.1 : __VERIFIED_BY_CGK__
A1.2 : Todo's added
A1.3 : Added todo's and fixed "a" to "(a)"
A1.4 : Somewhat rewriten and todo's added