Add improved birthday report, add spec framework and takeout test:unit