[Lab 4] implemented full functionality