Added some basic type definitions for portability