added concurrent model