Split code into two distinct modules