Design, implementation and testing of a primal-dual interior point method for solving linear programs