massive rewrite re factoring, world roaming version, cleaning code