Another implementation, now actually simple...