Try openstruct