first commit, need to clean up .py file, .ipynb in good shape