making real_t a teamplate parameter