fragments need to handle effitiently.