organize code and enhance enh-ruby