Major rewrite of 1.2.0