stable(isn) but inelegant