modules extracted from Sodalis project