uses html template instead of js module