Add comments + a few improvements