Add first feature-complete version