part 2 of lab fully implemented
implemented part 1 of lab; fixed minor bug in algorithms implementation