Diplom project for university.