modified 21-23, still not done