#7 split tabs commponent up into distinct files and split out tests