Backend version 1
Had a bit of trouble getting my head around how some of this works