reimplemented work with rdf