added some functions; tested nothing