working more on this again