refactor and rename continued