Almost ready.. need to change the arrays with patches to make better diffs...