Changed light to use structs