fix: throw errors instead of alerts