integrate the `Container` trait more