Challenge submission -- Yiwei Shi

Still need to work on authentication. Other functions should be working well.