added list toggle support, implemented a more complex pattern