separate functions for parsing args and loading settings to prevent cluttering up the constructor too much