fixes #16 improved settings provider so that it doesn't rely on session storage