update project.
update main.
use template style.
added new test.