properties and synthesize!