rework to one method