error-chcking almost done. i swear.