adapted 2.10