First untested complete version