near complete version