Further refactoring for #574