Added testing, ci and code coverage