reformat and psr4 autoload without breaking tests
refactor switch case and uniplemented interface
bootstrap added for test cases
removing unused test cases
proper unit test