return pointers instead of temporaries
change getint and getdouble syntax to use pointer arguments