U: fix entry point
A: add unit test and coverage and travis