made struct of size 16 so it will align with 8 byte malloc()s