Improve dataset interface