Rewriting project from the basis. Checking, typing, and auto-initialition added.