uses new 'setup' extension method to compile