ah, but it works, and all the nasty stuff is handled and wrapped in a nice api