more unified functions interfaces