Some changes such as the 'require' check for available libraries function