file structure changes, adding more functionality