added some preliminary work