separated some reused functions into modules, add custom fields using RDF.rb or plain URIs