refactored to vectors / fixed target