add custom argument parser (defaults taken from environment variables)