updated solutions