Expanded CanGenAT method.
Little bit of cleanup. Created a Delegating block system.