Code cleanup and better fail messages
Code cleanup and better fail messages

ngocpq/adasim,ngocpq/adasim,brunyuriy/adasim,ngocpq/adasim,brunyuriy/adasim,brunyuriy/adasim,brunyuriy/adasim,brunyuriy/adasim