fix for pub: now returns Pub object