port this to 1.0.0rc3