working on
ex1: implemented ; revision neeeded