Finaly complete, but some part of code is copied from other sources in this course