added cancel support
comments
changed is_cancelled to is_canceled for consistency
documentation, comments, and cleanup