better error propagation
close #129