added new components and added some functions to other classes