loading from file is separated into own method