Added struct and tests