structs mostly work, fix &float