solutions 1 - 3