complete version of all variations