revise settle method