middleman implementation, initial work
initial