working example of gram_schmidt