complete rewrite of contentManager