source tetra: tighten up API