use procs and drop ruby 1.8