adding interior point solver