Add unit tests (incomplete)