add state machine gem
fix student details uploads
scrap state machine and just use simpler auth