a workable struct and make file.