suggesting an alternative implementation