explicit functions