Proper test-driven API this time