Version 2, now an object