added some more code ideas, still pretty rough