add new function and files