Wip explicit instantiation

DO NOT MERGE THIS... IT IS NOT READY