Beginning hierarchical implementation for #132