Final project of cs686