Added gem 'ffi' - foreign function interface
Refactored Program::run to decrease cyclomatic complexity