Make it with template
Fix conflict