specification 2 implemented_not tested