factory allowed foo