Change rule
Support dialyzer
Optimize code