lab17,lab19 implemented