Intermediate work for #17