some more details, refactorings, copyrights etc.