public API so should it be arg checked?