reverse xs = rev xs []
rev [] y    = y 
rev (a:x) y = rev x (a:y) 
