V.0.4.0 middleware

done