Initial commit of mostly working (except Events) migration