added gpu use
merge
moved 2 layer eval stuff to own function