refactor to make simpler