Fix code for US#01
Implement tests for US#02
Fix code for US#02
Implement tests for US#03
Fix code for US#03