start modularising with require