Warning: Not fully functional,
interface may change in future
