Use fragments and a LOT more