refactor
add application period test