updated with client edits