New complete version