Added files. A lot of stuff missing (eng. commenting, etc)