Added code from r7rs