first complete version