some preliminary work