Analysing and solving problems