Better article iteration

also made everything immutable