How else would you implement it?