fixed cmp forms, added hasattr to cmp_single