Still working on making faster