Changed level to use factory to add flexibility