Committing everything under the son right now.

Committing everything form my desktop right now due to time constraint.
I will add all the stupid VS garbage to the ignore list later.