Version 3: more features, more bugs