nitpicking struct stuff and double vs float.