unit tests are added and usage simplified