Add unit testing and CI