refactor to use more suitable pattern name