Reverted 019db8d44b14b6c3d7c1748f16781af503b0eca4

Non optimal performance achieved