refactor partial use