Removed repeating code - union structure via macro