updated to work with rust master