Updating it so it works, but still needs to be cleaned