solutions to various problems