[new] basic interfaces and classes