finish 23 and partial progress on 24