Refactored to allow for different thrust vectors