more tests and better package setup