extended tests and added struct tests