homeworks 2, 3, 4