The FetchIt! Manipulation Challenge was organized by Fetch Robotics at ICRA 2019. The goal of the challenge was to use the Fetch mobile manipulator to pick objects from different locations (including highly constrained tight spaces), assemble them into certain parts of a container and drop it off at a certain location. This complex task requires a failure-proof integration of several robot behaviors including navigation, perception, grasping, and insertion. Our solution integrates algorithms for each behaviour with heirarchical recovery techniques to avoid task failures. Our submission won first place at the challenge.