container as separate type