finish project and fix some bugs, thanks to Anderson Rodrigues and this nice tutorial.