New template-free version