refactor workrkkk