generate learning - Steve Barkley