expose the interface to the public