updated code to be on par with rust nightly