version 3: with all the bugs you'll ever need