add version1 and version 2 in which 1 - 4 points are done.