#5 added attribution + cleaning stuff