reworked in order to make it look like 'classical' nmp modules