refactored get_targets once again :c