First commit with almost everything done. But it needs optimize and organize code.