Partitioned versions

Partitioned code into v1 and v2