Modernize some of it a bit, saves quite some lines of blabla (using shile instead of for loops... tsssts...).