created some new type aliases to help clean up type signatures