This looks slow/expensive.