removed stddef.h from header
changed all functions with size_t to uint32_t
added generic macros here
expansion and contraction consistency
added a number of tests for basic functionality and error handling
improved formatting and runtime logic
added structures for all function calls