fixed a few mistakes, potential final submission