imporved Coding stytle, using a undercode before methods as private methods, change global helper functions to class static methods.