update n2o from master, fix port