add new feature that change layout: vertical <-> horizontal