renames and finishes implementation