add comments + port