Decompose some methods to ease the understanding
travis CI tryout