added some preliminary plumbing for lifecycles