relies on both