First commit of version 1 rewrite