refactored to fluidbox