added 'improved' version of LM317