make Future private
add after
change api of future.schedule