Better #112 solution