implemented 4 exercies and tests