first tries
first fully functional version
adapted commenting