add future but some wired thing about future, scala bug?