initial commit of sources and tests