reword and cleanup