better implementations for add-class, remove-class and has-class