pulling out own ans shared, stuffing returns in separate ifs
weeee! saving yet another indent!