list and modularised code