A flexible user defined CMS