Changed to be able to extend definition of struct