This is my course work. Unfortunately, it was done in two days and the code is pretty bad.