moved interface to the same package as the implementation