realized infinite loop was caused by problem with x_unassignable method, added test