Implementing this slightly differently