First round of changes, working ports and requires README.md to be updated.