code is much better