added validation branch and few changes