i think if we include a typedef for this, life would be clean.