Working on better module compiler