commiting shape-context code. not finished