major fixes for simon
added linear simon