An Algebraic Classification of Knots in S 3