use abspath
restructure