re-writing Redis core class, adding License and unit-tests