utils
implementation