added some comments / documentation