refinement accroding alex's feedback