Add comments, factor out common code