template specialization
dynamic libraries