changed visibility, added tests