introducing typedefs to make notation nicer