added initial reading from file and semicolon separated data file