solve different problems