add custom error for missing AWS credentials. refactored index vault to separate concerns and handle AWS credential error