mostly copy/paste
misc