added comments an function descritions