functionally complete version 1