docs taken from rbenv