use settings instead of passing each individually