can be extracted into a method