various backend edits to support self tutorial