first version of convection implemented. working, but not benchmarked