Ref #317, #314, #313. cc @yelhousni
Ref #317, #314, #313. cc @yelhousni