ref counting seems to be working with alternatives