init with composite template and bridge patterns