Module framework