Improved version

there is middle inflow, and limited HP function can be achieved