passing errors through properly
testing error propagation