added trading functionality and 'hasSettlementOrCity' to vertex