Modularised code into various classes