initial implementation of tabs functionality