commenting, some translating, mainly comments,
tidy up, change some vars for better readability, 
add a lot of opinions/questions, marked with TODO: