more work on town generation and validation