added some basic tests. needs to be improved and more testcases.