added some logic..
worked on v1, v2 upcoming