Forgot to comment but this one reads from file