some features for ruby