flattened the hierarchy to simplify loading and use