handle empty struct allocation