this commit has some of my ideas