refactor some dry