complete simpearson func