package depth needs not to be two
rearranged naming, breaking up original apis