Assignment_3 v.1.0.2 - improved design, fixed bugs