structures & a convenience script