added string manipulation routines and list structure