Project structure changed and rewrited from scratch.