wrote barebones Context class