minor structure changes and git ignore updated