rarefy update. Needs (added?) unit testing still.