renamed class, new factory, other minor stuff