Do we need to make it this complicated?