abstracted FlooContext