refactor this line