file name changes, and some code imporvemnets