#15 added unittest