Optimize unit validation
Make puzzle configurable