too similar to refactor