added comments, about to rework data
getting template specialization to work.