modularized it