Refactored problems 1 to 5