Make use of synchronizedList instead of Vector to avoid performance bottleneck