done with prelim version