added a test interface. fixed some bugs discovered by simple test interface. updated CI scripts