refactor village and actions