1.3: Added parallel implementation