basic lib created, basic tests added.
fix merge conflicts