added 'empty' template function