refactored Kernel.future
added future_map method