add voltage scaling, clean up