change factory behaviour and api