changed parse to require an argument - seemed friendlier