be careful with this class name; ask @flecox