Renaming files to something more logical
adding more units tests and small validation fixes