added missing function
added missing classes