This shouldn't be sync, properties is final