Initial commit

Setup and basic middleware