using template for raw prototype