this method is the most widespread in open source