throw errors instead of strings
0.3.0