added "synchronized"