Basic working version containing basic backend logic