Update module to be more module/flexible