moved from shelling out for curl to using LWP