New module design pattern