Implemented some variants in Lab4