remove default params
add overlaod

and move unittest