Ex2 and Ex3 implementations
Ex4, Ex5 and Ex6