refactor  to  makes more sense