why aren't you using image APIs here?