improved module system