added other solutions