Big update. Adding classes that need to be implemented