seperating problems into seperate parts