add view modes support