more files and struct