removed typename keyword to work on older compilers