Basic object structure
Rewrited to objected structure.
Updated .gitignore