outlined tab methods; need to finish implementing