added new functionality and files