Modified factory functionality