clean up API, comment, add size assert