start outlining some functions