avoid pointer, expand interface
back to pointer