lab3 implemente (untested)